package com.agp.service;

import com.agp.dto.*;
import com.agp.entity.User;
import com.agp.result.PageResult;

public interface UserService {
    /**
     * 检查手机号是否已经注册
     * @param phone
     * @return
     */
    Boolean checkPhone(String phone);

    /**
     * 用户注册
     * @param userRegisterDTO
     */
    void register(UserRegisterDTO userRegisterDTO);

    /**
     * 登录
     * @param userLoginDTO
     * @param isPasswordLogin
     * @return
     */
    User login(UserLoginDTO userLoginDTO, boolean isPasswordLogin);

    /**
     * 根据用户id查询角色
     * @param currentId
     */
    Integer getRoleById(Long currentId);



    void updateUserInfo(UserDTO userDTO);

    /**
     * 根据用户id查询用户信息
     * @param currentId
     * @return
     */
    User findById(Long currentId);

    /**
     * 修改密码
     * @param passwordDTO
     */
    void updatePassword(PasswordDTO passwordDTO);

    /**
     * 分页查询
     * @param pageQueryDTO
     * @return
     */
    PageResult page(UerPageQueryDTO pageQueryDTO);

    /**
     * 修改用户状态
     * @param updateUserDTO
     */
    void updateUserStatus(UpdateUserDTO updateUserDTO);
}
